import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Líneas de la carretera, para simular el movimiento de la pista.
 * 
 * @author Asael Hernández García
 * @version (a version number or a date)
 */
public class Linea extends Actor
{
    /**
     * Act - do whatever the Linea wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
    private SimpleTimer timer;
    private int pixels,vel;
    private GreenfootImage imagen;
    
    public Linea()
    {
        timer = new SimpleTimer();
        timer.mark();
        resetPixels();
        pixels = 0;
        imagen = new GreenfootImage("Linea.png");
    }
    
    public void act() 
    {   
        setLocation(getX(),getY()-1);
        
        if(timer.millisElapsed() > 1000) {
            if(getImage().getWidth() >= 5 && getImage().getHeight() >= 5)
                reduceImg(getImage().getWidth()-getPixels()-4, getImage().getHeight()-getPixels()-16);  
            if(getY() <= getWorld().getHeight()/2 + getImage().getHeight() -25)    
               getWorld().removeObject(this);    
            timer.mark();
            addPixels();
        }    
    }    
    
    /**Método para reducir la imagen de la linea
     * 
     */
    public void reduceImg(int x, int y)
    {
        GreenfootImage imagenObstaculo = getImage();
        imagenObstaculo.scale(x,y);
        setImage(imagenObstaculo);
    }

    
    /** Método para reiniciar los pixeles para disminuir el tamaño del obstáculo
     * 
     */
    public void resetPixels()
    {
      pixels = 0; 
    }
    
    /** Método para establecer los pixeles para disminuir el tamaño del obstáculo
     * 
     */
    public void addPixels()
    {
      pixels+=1; 
    }
    
    /** Método para obtener los pixeles para disminuir el tamaño del obstáculo
     * 
     */
    public int getPixels()
    {
      return pixels; 
    }
}
